#ifndef _RELAY_H_
#define _RELAY_H_

/* Includes ------------------------------------------------------------------*/
#include "fm33lg0xx_fl.h"
#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#ifdef _RELAY_C_

#endif
/* USER CODE END Includes */

/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */

/* USER CODE END EC */

/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */

/* USER CODE END EM */

/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
typedef enum
{
	eHART = 0x01,
	eMeter = 0x02,
}EnumHARTMeterID;

typedef enum
{
	eChannel1 = 0x01,
	eChannel2,
	eChannel3,
	eChannel4,
	eChannel5,
	eChannel6,
	eChannel7,
	eChannel8,
	eChannel9,
	eChannel10,
	eChannel11,
	eChannel12,
	eChannel13,
	eChannel14,
	eChannel15,
	eChannel16,
	eChannel17,
	eChannel18,
	eChannel19,
	eChannel20,
	eChannel21,
	eChannel22,
	eChannel23,
	eChannel24,
	eChannel25,
	eChannel26,
	eChannel27,
	eChannel28,
	eChannel29,
	eChannel30,
	eChannel31,
	eChannel32,
}EnumChannelID;
/* USER CODE END ET */

/* Exported functions prototypes ---------------------------------------------*/
/* USER CODE BEGIN EFP */
void vRelayGPIOInit(void);
void vRelaySwitchWithHARTOrMeter(EnumChannelID chl, EnumHARTMeterID chlType, uint8_t ucSwitch);

extern EnumChannelID gEnumArryChlID[32];

void vSetAlarmROnOrOff(bool bStatus);
void vSetAlarmGOnOrOff(bool bStatus);
void vSetAlarmBOnOrOff(bool bStatus);
/* USER CODE END EFP */

/* Private defines -----------------------------------------------------------*/

/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */
#endif // _UART_H_
